package com.gamerank.service.base;

import java.util.HashMap;
import java.util.LinkedHashMap;

import com.gamerank.bean.QueryResult;


public interface DAO {

	
	public void save(Object entity);

	
	public void update(Object entity);


	public <T> void delete(Class<T> entityClass, Object entityID);


	public <T> void delete(Class<T> entityClass, Object[] entityIDs);


	public <T> T query(Class<T> entityClass, Object entityID);


	public <T> QueryResult<T> getScrollData(Class<T> entityClass);


	public <T> QueryResult<T> getScrollData(Class<T> entityClass,
			int firstIndex, int maxIndex);


	public <T> QueryResult<T> getScrollData(Class<T> entityClass,
			int firstIndex, int maxIndex, HashMap<String, Object> where);

	
	public <T> QueryResult<T> getScrollData(Class<T> entityClass,
			int firstIndex, int maxIndex, LinkedHashMap<String, String> orderBy);

	public <T> QueryResult<T> getScrollData(Class<T> entityClass,
			HashMap<String, Object> where);

	
	public <T> QueryResult<T> getScrollData(Class<T> entityClass,
			int firstIndex, int maxIndex, HashMap<String, Object> where,
			LinkedHashMap<String, String> orderBy);

}
